Pattern-matching algorithms based on term rewrite systems
نویسندگان
چکیده
Automatic code generators often contain pattern matchers that are based on tree grammars. In this work we generalise this approach by developing pattern matchers that are based on more powerful term rewrite systems. A pattern matcher based on a term rewrite system computes all the sequences of rewrite rules that will reduce a given expression tree to a given goal. While the number of sequences of rewrite rules that are generated is typically enormous, the vast majority of sequences are in fact redundant. This redundancy is caused by the fact that many rewrite sequences are permutations of each other. A theory and a series of algorithms are systematically developed that identify and remove two types of redundant rewrite sequences. These algorithms terminate if rewrite sequences do not diverge.
منابع مشابه
Linear Compressed Pattern Matching for Polynomial Rewriting (Extended Abstract)
This paper is an extended abstract of an analysis of term rewriting where the terms in the rewrite rules as well as the term to be rewritten are compressed by a singleton tree grammar (STG). This form of compression is more general than node sharing or representing terms as dags since also partial trees (contexts) can be shared in the compression. In the first part efficient but complex algorit...
متن کاملSymbolic computation in software science: Foreword from the editor
The series of workshops on Symbolic Computation in Software Science has been initiated by the research groups of Bruno Buchberger at RISC, Johannes Kepler University of Linz, Tetsuo Ida at the University of Tsukuba, and Masahiko Sato at Kyoto University. As the name suggests, the focus of the series is on applications of symbolic computation techniques in various areas of software science. The ...
متن کاملFaithful (meta-)encodings of programmable strategies into term rewriting systems
Rewriting is a formalism widely used in computer science and mathematical logic. When using rewriting as a programming or modeling paradigm, the rewrite rules describe the transformations one wants to operate and rewriting strategies are used to control their application. The operational semantics of these strategies are generally accepted and approaches for analyzing the termination of specifi...
متن کاملDecidable Type Inference for the Polymorphic Rewriting Calculus
A promising line of research unifying the logic paradigm with the functional paradigm is that of rewrite-based languages [MOM02] like, for example, ELAN [The04d], Maude [The04c], ASF+SDF [The04a], Obj∗ [FN96, Gog04]). This kind of languages have been successfully used for theorem proving [BCM04], constraint solving [Cas96], model-checking [EMS03, CMR04], program transformation [vdBKV96], etc. M...
متن کاملA faithful encoding of programmable strategies into term rewriting systems
Rewriting is a formalism widely used in computer science and mathematical logic. When using rewriting as a programming or modeling paradigm, the rewrite rules describe the transformations one wants to operate and declarative rewriting strategies are used to control their application. The operational semantics of these strategies are generally accepted and approaches for analyzing the terminatio...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Theor. Comput. Sci.
دوره 238 شماره
صفحات -
تاریخ انتشار 2000